/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package dao;

import MYSQLConection.OperacionesDB;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import negocio.Accidente;
import negocio.HistoriaClinica;

/**
 *
 * @author Adrian
 */
public class DaoAccidente {
     private static DaoAccidente instance;

    private DaoAccidente() {
    }

    public static DaoAccidente getInstance() {
        if (instance == null) {
            return instance = new DaoAccidente();
        }
        return instance;
    }
    
     public boolean NuevoAccidente(String cedula,int numero,String fechaAcc,String horaAcc,String fechaInv,String descripsion,String actividadRealizaba,String lugar) throws SQLException{
        OperacionesDB db = new OperacionesDB();
       String query="insert into accidente values('"+cedula+"',"+numero+","+"'"+fechaAcc+"',"+"'"+horaAcc+"',"+"'"+fechaInv+"',"+"'"+descripsion+"',"+"'"+actividadRealizaba+"',"+"'"+lugar+"')";
       if(db.ingreso(query))
       {
          return true; 
       }
       else
       {
           return false;
       }
    }
     public void Modificar(String cedula,int numero,String fechaAcc,String horaAcc,String fechaInv,String descripsion,String actividadRealizaba,String lugar) throws SQLException
    {
       OperacionesDB db = new OperacionesDB();
       String query = "UPDATE accidente SET fechaAcc='"+fechaAcc+"',horaAcc='"+horaAcc+"',fechaInv='"+fechaInv+"',descripsion='"+descripsion+"',actividadRealizaba='"+actividadRealizaba+"',lugar='"+lugar+"' where cedula='"+cedula+"' and numero="+numero;
       db.modificacioneliminacion(query);
       db.cerrarConexion();
        
    }
          public void Eliminar(String cedula,int numero) throws SQLException
    {
         
        OperacionesDB db = new OperacionesDB();
      String query1 = "delete from accidente where cedula='"+cedula+"' and numero="+numero;
       db.modificacioneliminacion(query1);
       db.cerrarConexion(); 
       
        
        
    }
          
      public ArrayList<Accidente> listar(String cedula) throws SQLException
    {
       OperacionesDB db = new OperacionesDB();
       ArrayList<Accidente> accidentes=new ArrayList();
         String query = "select * from accidente where cedula='"+cedula+"'";
        ResultSet resultado = db.seleccion(query);
        Accidente acc=null; 

        while (resultado.next()) {
           int numero=Integer.parseInt(resultado.getString(2));
           acc = new Accidente(numero,resultado.getString(3),resultado.getString(4),resultado.getString(5),resultado.getString(6),resultado.getString(7),resultado.getString(8));
            accidentes.add(acc);
        }
         db.cerrarConexion();
        
        return accidentes;
        
    }
      public int lista(String cedula) throws SQLException
    {
       OperacionesDB db = new OperacionesDB();
       ArrayList<Accidente> accidentes=new ArrayList();
         String query = "select * from accidente where cedula='"+cedula+"'";
        ResultSet resultado = db.seleccion(query);
        Accidente acc=null; 
        int cont=0;
        while (resultado.next()) {
           cont++;
        }
         db.cerrarConexion();
        
        return cont;
        
    }
      public int numeroAccidente(String cedula,int opc) throws SQLException
    {
        if(opc==1)
        {
          return 0;  
        }
        else
        {
        OperacionesDB db = new OperacionesDB();
      
        String query = "select MAX(numero) from accidente where cedula='"+cedula+"'";
        ResultSet resultado = db.seleccion(query);
        int numero=0;
        
        while (resultado.next()) {
            numero=Integer.parseInt(resultado.getString(1));
           
        }
        
        return numero; 
        
        
        }
    }

}
